package cn.iocoder.yudao.module.crm.dal.dataobject.customFieldHead;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 自定义表头 DO
 *
 * @author 数创万维
 */
@TableName("custom_field_head")
@KeySequence("custom_field_head_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CustomFieldHeadDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;

    private Long moduleId;

    /**
     * 所属模块是否通用1不通用2通用
     */
    private int moduleIsPublic;

    /**
     * 所属表单，1线索，2用户
     */
    private String tableType;
    /**
     * 字段名称
     */
    private String name;
    /**
     * 字段属性名称
     */
    private String fieldName;
    /**
     * 字段类型
     */
    private String fieldType;
    /**
     * 拓展数据，用|分割（如：下拉数据）
     */
    private String expansion;
    /**
     * 是否必填
     */
    private Integer isRequired;
    /**
     * 是否防重
     */
    private Integer isRepeat;
    /**
     * 列表显示
     */
    private Integer isShow;
    /**
     * 是否查询
     */
    private Integer isSearch;
    /**
     * 查看范围，存储角色id
     */
    private String lookScope;
    /**
     * 修改权限
     */
    private String updateAuthority;
    /**
     * 字段描述
     */
    private String description;

    private Long tenantId;

    @TableField(exist = false)
    private List<String> queryType;

}